package main

import (
	"github.com/gin-gonic/gin"
)

type User struct {
	User string `json:"name"`
	Pwd  string `json:"pwd"`
}

type Student struct {
	Name string
	Age  int
}

func index(ctx *gin.Context) {
	ctx.HTML(200, "index.html", gin.H{
		"user":  "baim0",
		"state": "在线",
		"wzry":  []string{"澜", "镜", "曜", "凯"},
		"stuMap": map[string]interface{}{
			"name":  "baim0",
			"age":   22,
			"hobby": []string{"足球", "篮球", "双色球"},
		},
		"stuStruct": Student{Name: "yuan", Age: 22},
	})
}

// func login(ctx *gin.Context) {
// 	ctx.HTML(200, "login.html", nil)
// 	// 获取用户提交的数据
// }
// func submitLogin(ctx *gin.Context) {
// 	user := ctx.PostForm("user")
// 	pwd := ctx.PostForm("pwd")
// 	if user == "baim0" && pwd == "123" {
// 		ctx.String(200, "login success!")
// 	} else {
// 		ctx.String(200, "login faild!")
// 	}
// }
func main() {
	r := gin.Default()

	// r.LoadHTMLGlob("html/*")
	// // get
	// r.GET("/login", login)
	// r.POST("/login", submitLogin)

	// r.NoRoute(func(ctx *gin.Context) {
	// 	ctx.JSON(404, gin.H{

	// 		"wmx": "i love u!",
	// 	})
	// })
	// r.GET("/book", func(ctx *gin.Context) {
	// 	ctx.JSON(200, gin.H{
	// 		"message": "获取书籍",
	// 	})
	// })

	// r.DELETE("/book", func(ctx *gin.Context) {
	// 	ctx.JSON(200, gin.H{
	// 		"message": "删除书籍",
	// 	})
	// })

	// r.PUT("/book", func(ctx *gin.Context) {
	// 	ctx.JSON(200, gin.H{
	// 		"message": "添加书籍",
	// 	})
	// })

	// r.NoRoute(func(ctx *gin.Context) {
	// 	ctx.JSON(404, gin.H{
	// 		"msg": "页面不存在，兄弟！",
	// 	})
	// })

	// r.GET("data", func(ctx *gin.Context) {
	// 	fmt.Println(ctx.Query("name"))
	// 	ctx.String(200, ctx.Query("name"))
	// })

	// r.POST("/data", func(ctx *gin.Context) {
	// 	// 获取请求体数据，做json响应
	// 	ctx.JSON(200, gin.H{
	// 		"username": "baim0",
	// 		"passwd":   "123",
	// 	})

	// })

	// r.POST("/shouldbaim0", func(ctx *gin.Context) {
	// 	u := User{}

	// 	ctx.ShouldBindJSON(&u)
	// 	if u.User == "baim0" && u.Pwd == "123" {
	// 		ctx.JSON(200, gin.H{
	// 			"msg": "login success!",
	// 		})
	// 	} else {
	// 		ctx.JSON(200, gin.H{
	// 			"msg": "login failed!",
	// 		})
	// 	}

	// })
	r.Static("/static", "./static")
	r.Static("/baim0", "./baim0")
	r.LoadHTMLGlob("html/*")

	// 模版变量使用
	// r.GET("/", func(ctx *gin.Context) {
	// 	now := time.Now().Format("2006-01-02 15:04:05")
	// 	fmt.Println(now)
	// 	ctx.HTML(200, "login.html", gin.H{
	// 		"now": now,
	// 	})
	// })

	// 模版语法的变量渲染
	r.GET("/bianliang", index)
	r.Run(":80")
}
